<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="UTF-8">
    <title>Sucha's Blog - Archive for February, 2014</title>
    <meta name="generator" content="MarkdownProjectCompositor.lua">
    <meta name="author" content="Sucha">
    <meta name="keywords" content="suchang, programming, Linux, Lua">
    <meta name="description" content="Sucha's blog">
    <link rel="shortcut icon" href="../images/ico.png">
    <link rel="stylesheet" type="text/css" href="../styles/blog.css">
    <link rel="stylesheet" type="text/css" href="../styles/prism.min.css">
    <style id="site_theme"></style>
  </head>
  <body>
    <div id="body">
      <div id="text">
	   <!-- Page published by cmark-gfm begins here --><h1>Sucha's Blog ~ Archive for February, 2014</h1>
<p><a id="p0"></a></p>
<div class="date">14年2月28日 周五 15:08</div>
<h2>玩了一下 2D 骨骼动画</h2>
<p>春节前忙着出了一个只包含战斗场景的 demo，还没有动画部分，那时候这部分还
不熟悉，可没想到年后好懒散，一直弄到现在才把动画部分弄出来了一个样子。</p>
<p>年后也玩到了一些新的卡牌游戏，动画之精美、动作之合理连贯，让我总觉得那些
动画不像是用程序里面调出来的，而是像用动画编辑器做的。</p>
<p>反正我也要研究这部分，索性就大框架都看了一遍。cocos2dx 里面的 actions 就
不说了，那是基础。</p>
<p>不过涉及到人物复杂一点的动作，比如跑动、跳跃、攻击，这些如果用 actions
来调整，那真是头大了，且程序也不用调整那么细的部分。</p>
<p>这些其实是 2D 骨骼动画，之所以不用序列帧，是因为序列帧太费存储空间了。</p>
<p>基于 cocos2dx 的有 spine、dragonbones 以及官方的 cocostuido，其实我觉得
cocostudio 是很浅显易用的，只是导出的数据只能用在 cocos2dx 2.2.2 版本上，
可我是基于 quick-cocos2dx 来做的，这边提供的 CCArmature 版本是 2.1.5 的
呀。</p>
<p>所以播放出来的动画坐标都不对，我花了几个小时将 2.2.2 的 CCArmature 移植
到了 quickx 上，可是动画的前面几帧时间轴不对，总是太快，不晓得是不是新版
本底层的有了更新。</p>
<p>网上搜到了 zrong 修改的 Flash Pro dragonbones 插件，介绍说这部分在 2.1.5
上面效果很好，zrong 本身就经常出没于 quickx 邮件列表，我可是潜水很久了。</p>
<p>之所以一开始不考虑 dragonbones，一方面是担心兼容，另外就是觉得那个方向制
作工具、套件的复杂。</p>
<p>Flash Pro 确实是大块头，黑苹果本来没装有，我不得不重新下载一个新的，而原
来的 Adobe Extention Manager 还老是闪退，又下了一个新的，然后又花了一个
下午的时间才弄懂 Flash Pro 上面怎么玩动画。</p>
<p>从程序员的眼光来看，感觉相比 cocostudio 的入手难度大多了，不晓得从动画制
作师的角度看如何。</p>
<p>不过这个学习成本到最后发现还是值得的，播放的效果很好，然后缓动也很好，引
擎计算的插值帧也很好，还有骨骼动画确实是要构造骨骼关系才行，否则缓动计算
的骨骼运动路径是不对的。</p>
<p>又学会了一些东西，不过玩归玩，实际上我的游戏估计用不上这么高级的东西，老
老实实玩 actions 就好了。</p>
<div class="category"><a href="CategoryProgramming.html">CategoryProgramming</a> / <a href="2014-02.html#p0">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2014-02-28T15:08:59+0800 -->
<!-- Page published by cmark-gfm ends here -->
  <div id="foot">2004-<script>var d = new
	Date();document.write(d.getFullYear())</script> &copy;
	Sucha. Powered by MarkdownProjectCompositor.
  </div>
  </div><!-- text -->
  <div id="sidebar">
  </div><!-- sidebar -->
  <script src="../js/prism.min.js" async="async"></script>
  <script src="../js/blog_sidebar.js"></script>
  </div> <!-- body -->
</body>
</html>